# __add__() 执行加法运算
# __sub__() 执行减法运算
# __lt__(), __le__(), __eq__() 执行比较运算
# __gt__(), __ge__(), __ne__() 执行比较运算
# __mul__(), __truediv__() 执行乘法运算、非整除运算
# __mod__(), __floordiv__() 执行取余运算、整除运算
# __pow__() 执行敏算法


a = 10
b = 20

print(f'a的属性方法{dir(a)}')
print(f'b的属性方法{dir(b)}')

# 执行加法运算
print(a + b)
print(a.__add__(b))
print(a - b)
print(a.__sub__(b))
# 表示同一个意思，只不过底层调用了方法
print(f'{a}<{b}吗', a.__lt__(b), a < b)
print(f'{a}<{b}吗', a.__gt__(b), a > b)
print(f'{a}<={b}吗', a.__le__(b), a <= b)
print(f'{a}<={b}吗', a.__ge__(b), a >= b)
print(f'{a}={b}吗', a.__eq__(b), a >= b)
print(f'{a}!={b}吗', a.__ne__(b), a >= b)

#
print('*' * 60)
print(a * b)
print(a.__mul__(b))  # 乘法 *
print('除法')
print(a / b)
print(a.__truediv__(b))  # 除法 /
print(a % b)
print(a.__mod__(b))  # 取模 %
print(a.__floordiv__(b))  # 取整
print(f'{a}^{b}', a.__pow__(b))  # 幂运算
